import "reflect-metadata";
import {createConnection, getConnection, getManager, getRepository} from "typeorm";
import {Posts} from "./entity/Posts";
import {User} from "./entity/User";

createConnection().then(async connection => {

    /**
     * 前面我们使用synchronize=true同步实体类到数据表中,在实际开发中你可能会多次更改实体类,但是数据库已经有数据了,你也不可能先删除之前的数据表,然后再来同步,上线后的项目也会把同步功能关闭。以避免生产的数据被删除。解决方式有

     1、手动写SQL语句增加列到数据表中,然后再实体类中添加对应的字段值。对于没SQL基础的同学来说可能有点难度
     2、采用手动迁移的方式,如果你曾经用过django的,就知道这功能。直接写好实体类,简单运行几个命令就同步到数据库

     配置命令

     // 可能你记住不那么多命令,但是我们node项目都可以把命令配置到 package.json 文件
             {
          "scripts": {
            "start": "ts-node src/index.ts",
            "generate": "ts-node  ./node_modules/typeorm/cli.js migration:generate -n Test",
            "db": "ts-node ./node_modules/typeorm/cli.js migration:run"
          }
        }

     1、我们每次修改实体类的时候先后运行命令,就可以同步数据到表中了.
         npm run generate
         npm run db
     */
}).catch(error => console.log(error));
